package demo2.demo1;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 阿宾
 * Date: 2024-05-13
 * Time: 17:14
 */
//父类
class Base{
    private int a = 1;
    public int b = 2;
    public int d = 100;
    public Base(){
        System.out.println("父类的无参构造方法");
    }
    public Base(int a){
        System.out.println("父类的一个参数构造方法");
    }

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }
}
//子类
class Derived extends Base {
    public int a = 10;
    public float b = 3.4f;
    public int c = 3;
    public Derived(){
        //super(); //子类构造方法中默认是存在这行代码，用于调用父类的对应构造方法，用户不写编译器默认存在
        System.out.println("子类的无参构造方法");
    }
   /* public Derived(int a){
        //super(); //子类构造方法中默认是存在这行代码，用于调用父类的对应构造方法，用户不写编译器默认存在

        System.out.println("子类的一个参数构造方法");
    }*/
   public void method(){
       System.out.println(this.a);//访问的是子类的a
       System.out.println(this.b);//访问的是子类的b
       System.out.println(this.c);//访问的是子类的c
       System.out.println(this.d);//访问的是父类的d，因为子类中不含有d
       System.out.println("=========");
       System.out.println(super.getA());//访问的是父类的a
       System.out.println(super.b);//访问的是父类的b
       System.out.println(super.d);//访问的是父类的d
   }
}
public class Test02 {
    public static void main(String[] args) {
        Derived d1 = new Derived();
        d1.method();
    }
}
